﻿using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MonopolyNOHI2015;

namespace MonopolyTests
{
    [TestClass]
    public class EigendomsbewijsStraatTests
    {
        private EigendomsbewijsStraat _eigendomsbewijs;
        private StraatVeld _veld;
        private Bord _bord;
        private Speler _spelerHerman;

        [TestInitialize]
        public void Setup()
        {
            _veld = new StraatVeld(1, "Dorpsstraat", "Ons Dorp", 0, 0);
            _bord = new Bord();
            _spelerHerman = new Speler("Herman", 850, _bord);
            _eigendomsbewijs = new EigendomsbewijsStraat(_spelerHerman, _veld, 60, 2, 10, 30, 90, 160, 250);
        }

        [TestMethod]
        public void TestOfGetHuurOnbebouwd2Is()
        {
            Assert.AreEqual(expected: 2, actual: _eigendomsbewijs.GetHuur(0,0));
        }

        [TestMethod]
        public void TestOfGetHuurMet1Huis10Is()
        {
            Assert.AreEqual(expected: 10, actual: _eigendomsbewijs.GetHuur(1, 0));
        }

        [TestMethod]
        public void TestOfGetHuurMet2Huizen30Is()
        {
            Assert.AreEqual(expected: 30, actual: _eigendomsbewijs.GetHuur(2, 0));
        }

        [TestMethod]
        public void TestOfGetHuurMet3Huizen90Is()
        {
            Assert.AreEqual(expected: 90, actual: _eigendomsbewijs.GetHuur(3, 0));
        }

        [TestMethod]
        public void TestOfGetHuurMet4Huizen160Is()
        {
            Assert.AreEqual(expected: 160, actual: _eigendomsbewijs.GetHuur(4, 0));
        }

        [TestMethod]
        public void TestOfGetHuurMet0HuizenEn1Hotel250Is()
        {
            Assert.AreEqual(expected: 250, actual: _eigendomsbewijs.GetHuur(0, 1));
        }
    }
}
